package com.aiks.single.singlemavenproject.dao;


import com.aiks.single.singlemavenproject.entity.CustomUser;

import java.util.List;

/**
 * 表名称:  custom_user
 */
public interface UserBaseMapper {

    public int insert(CustomUser userDO);
    /**
     * 根据主键 id 删除信息
     */
    public int deleteById(Long id);

    /**
     * 根据主键 id 查询信息
     */
    public CustomUser getById(Long id);

    /**
     * 根据主键 id 更新信息
     * 不建议全量更新表字段, 如果需要更新根据业务进行判空更新
     */
    @Deprecated
    public int updateById(CustomUser userDO);

     /**
      * 根据唯一索引 userId 删除信息
      */
    public int deleteByUkIndexUserId(String userId);

    /**
     * 根据唯一索引 userId 查询信息
     */
    public CustomUser getByUkIndexUserId(String userId);

    /**
     * 根据唯一索引 userId 更新信息
     */
    public int updateByUkIndexUserId(CustomUser userDO);

     /**
      * 根据唯一索引 orgId 删除信息
      */
    public int deleteByUkIndexOrgId(String orgId);

    /**
     * 根据唯一索引 orgId 查询信息
     */
    public CustomUser getByUkIndexOrgId(String orgId);

    /**
     * 根据唯一索引 orgId 更新信息
     */
    public int updateByUkIndexOrgId(CustomUser userDO);





    /**
     * 根据条件查询数据
     */
    public List<CustomUser> queryList(CustomUser userDO);

    /**
     * 查询表中所有信息
     */
    public List<CustomUser> queryAll();

}

